人类高质量网工必懂系列:深入浅出理解SRv6 您所在的位置:网站首页 srv6 policy封装模式 人类高质量网工必懂系列:深入浅出理解SRv6

人类高质量网工必懂系列:深入浅出理解SRv6

2024-01-13 16:13| 来源: 网络整理| 查看: 265

SRv6打破了MPLS跨域边界,部署简单,提升了跨域体验。

(关注公众号:网络工程师阿龙,更多精彩和福利)

纯IP化:

(关注公众号:网络工程师阿龙,更多精彩和福利)

SRv6基于以上特点,成为构建“智简IP”的利器。同时也为IPv6的发展带来了转机,开启了IPv6+新时代。

什么是Segment Routing?

前面提到,SRv6即SR+IPv6。IPv6大家都知道,那什么是SR呢?

SR技术是SDN竞争压力下的产物,其核心思想是将报文转发路径切割为不同的分段,并在路径起始点往报文中插入分段信息,中间节点只需要按照报文里携带的分段信息转发即可。这样的路径分段,称之为“Segment”,并通过SID(Segment Identifier,段标识)来标识。

SR的设计理念在现实生活中屡见不鲜,下面举一个例子,来更好的理解其原理。假设你从上海出发去巴黎旅游,需要在维也纳转机。那你的出行路线分为两段,上海→维也纳、维也纳→巴黎。则你只需要在上海买好上海途经维也纳到巴黎的票,按照计划根据机票,经过两段,飞到巴黎即可。

上海到巴黎出行图

报文在SR技术的转发过程也是类似的。由上可知,SR技术关键在于两点:对路径进行分段(Segment)以及在起始节点对路径进行排序组合(Segment List),确定出行路径。

在SR技术中,将代表不同功能的Segment进行组合,可以实现对路径的编程,满足不同路径服务质量的需求。

(关注公众号:网络工程师阿龙,更多精彩和福利)

SR技术支持MPLS和IPv6两种转发平面,基于MPLS转发平面的SR称为SR-MPLS(Segment Routing MPLS),其SID为MPLS标签(Label);基于IPv6转发平面的SR称为SRv6,其SID为IPv6地址。

SRv6如何实现网络编程?

SR技术中,通过对Segment的组合,实现路径编程。那SRv6是如何实现网络编程的呢?

SRv6将网络比作计算机,类比计算机编程,将网络承载的业务翻译成发给沿途网络设备的一系列转发指令,从而实现网络编程,满足业务的定制化需求。

SRH

为基于IPv6转发平面实现SR技术,在IPv6路由扩展头新增SRH(Segment Routing Header)扩展头,该扩展头指定一个IPv6的显式路径,存储IPv6的Segment List信息。Segment List即对段和网络节点进行有序排列得到的一条转发路径。报文转发时,依靠Segments Left和Segment List字段共同决定IPv6目的地址(IPv6 DA)信息,从而指导报文的转发路径和行为。

SRH扩展头格式

三层可编程空间

SRv6的可编程能力来源于三部分:

Segment序列。如前所述,可以将多个Segment组合起来,形成SRv6路径,即路径可编辑。 对SRv6 SID 128bit的运用。 SRv6 Segment定义了SRv6网络编程中的网络指令,指示要去哪,怎么去。标识SRv6 Segment的ID被称为SRv6 SID。SRv6 SID是一个128bit的值,为IPv6地址形式,由Locator、Function和Arguments三部分组成。 SRv6 Segment结构 Locator:具有定位功能。提供IPv6的路由能力,报文通过该字段实现寻址转发。此外,Locator对应的路由也是可聚合的。 Function:用来表达该设备指令要执行的转发动作,不同的转发行为由不同的Function来表达。 Arguments:可选字段,是对Function的补充,是指令在执行时对应的参数,这些参数可能包含流、服务或任何其他相关的信息。 SRv6的每个Segment是128bit,可以灵活分为多段,每段功能和长度可以自定义,由此具备灵活编程能力,即业务可编辑。 Segment序列之后的Optional TLV(Type-Length-Value)。报文在网络中传送时,需要在转发面封装一些非规则的信息,可以通过SRH中TLV的灵活组合来完成,即应用可编辑。

SRv6通过以上三层编程空间,具备了更强大的网络编程能力,可以更好地满足不同的网络路径需求,和SDN技术完美融合,实现网络与应用的互动,使能业务驱动的可编程网络。

SRv6三层编程空间

SRv6在网络中是如何工作的?

SRv6具有超强的网络编程能力,那其在网络中具体是怎样工作的呢?下面我们通过SRv6报文转发流程和SRv6的工作模式两方面来讲其在网络中的工作实现。

报文转发流程

采用示例说明SRv6的报文转发流程。

如图所示,假设有报文需要从主机1转发到主机2,主机1将报文发送给节点A处理。节点A、B、D、E均支持SRv6,节点C不支持SRv6,只支持IPv6。我们在源节点A上进行网络编程,希望报文经过B-C、C-D链路,送达节点E,由E节点送达主机2。

SRv6报文转发流程

报文转发流程分为以下几步:

(关注公众号:网络工程师阿龙,更多精彩和福利)

SRv6工作模式

SRv6工作模式分为两种:SRv6 BE(Segment Routing IPv6 Best Effort)和SRv6 TE Policy(Segment Routing IPv6 Traffic Engineering Policy)。两种模式都可以用来承载传统业务,比如L3VPN、EVPN L3VPN、EVPN VPLS 、EVPN VPWS、公网IP等。

SRv6 TE Policy

SRv6 TE Policy利用Segment Routing的源路由机制,通过在头节点封装一个有序的指令列表(路径信息)来指导报文穿越网络。SRv6 TE Policy用于实现流量工程,提升网络质量,满足业务的端到端需求。其和SDN结合,更好的契合于业务驱动网络的大潮流,也是SRv6主推的工作模式。

SRv6 TE Policy工作流程

SRv6 TE Policy的工作流程可分为四步:

(关注公众号:网络工程师阿龙,更多精彩和福利)

SRv6 BE

SRv6 BE类似于MPLS网络中的LDP,是指基于IGP最短路径算法计算得到最优SRv6路径,仅使用一个业务SID来指引报文在链路中的转发,是一种尽力而为的工作模式。其没有流量工程能力,一般用于承载普通VPN业务,快速开通业务。

以L3VPNv4 over SRv6 BE为例,讲述SRv6 BE的业务实现,如图所示,网络中部署VPN,另外PE1和PE2部署SRv6,P部署IPv6。

SRv6 BE工作流程

路由发布阶段:

PE2上配置Locator。 PE2通过IGP协议将SRv6 SID对应的Locator网段路由2001:DB8:2::/64发布给PE1。PE1安装路由到自己的IPv6路由表。 PE2在Locator范围内配置VPN实例的SID 2001:DB8:2::B100,生成Local SID表。 PE2收到CE2发布的私网IPv4路由后,将私网IPv4路由转换成BGP VPNv4路由,通过BGP邻居关系发布给PE1。此路由携带SRv6 VPN SID属性,也就是VPN实例的SID 2001:DB8:2::B100。 PE1接收到VPNv4路由后,将其交叉到对应的VPN实例路由表,然后转换成普通IPv4路由,对CE1发布。

数据转发阶段:

CE1向PE1发送一个普通IPv4报文。 PE1从绑定了VPN实例的接口上收到私网报文以后,查找对应VPN实例的路由转发表,匹配目的IPv4前缀,查找到关联的SRv6 VPN SID以及下一跳信息。然后直接使用SRv6 VPN SID 2001:DB8:2::B100作为目的地址封装成IPv6报文。 PE1然后按照最长匹配原则,匹配到路由2001:DB8:2::/64,按最短路径转发到P设备。 P设备按照最长匹配原则,匹配到路由2001:DB8:2::/64,按最短路径转发到PE2。 PE2使用2001:DB8:2::B100查找Local SID表,匹配到SID对应的转发动作,将IPv6报文头去除,然后根据SID匹配VPN实例,查找VPN实例路由表进行转发。报文恢复成普通IPv4报文。

SRv6 BE与SRv6 TE Policy对比

SRv6 vs SR-MPLS

SR技术支持MPLS和IPv6两种转发平面,基于MPLS转发平面的SR为SR-MPLS,基于IPv6转发平面的SR为SRv6。

为什么说SRv6是新一代IP承载协议呢?SRv6相比SR-MPLS有哪些优势呢?

SRv6与SR-MPLS对比

参考资源

end

来源:华为,作者:张燕,本期编辑:网络工程师阿龙,如有侵,私信删。在此致谢。返回搜狐,查看更多



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有